package com.sse.sensor;

/**
 * Clase que define constantes y enumeraciones para los 
 * tipos de sensores disponibles.
 * @author Paul
 *
 */
public class TipoSensor {	
	
	/** Sensor detector de Humo*/
	public static final long HUMO = 0;
	
	/** Sensor que detecta puertas que se abren o cierran. */
	public static final long PUERTA = 1;
	
	/** Sensor que detecta ventanas que se abren o cierran. */
	public static final long VENTANA = 2;
	
	/** Sensor que detecta movimiento*/
	public static final long MOVIMIENTO = 3;
	
	/** Antena sensora para RFIDS*/
	public static final long ANTENA = 4;
	
	/** Sensor  que detecta sin una persona sale o entra. */
	public static final long INGRESO = 5;
	
	
	
	public enum TipoSensorEnum {
		HUMO(TipoSensor.HUMO) , 
		PUERTA(TipoSensor.PUERTA) , 
		VENTANA(TipoSensor.VENTANA) ,
		MOVIMIENTO(TipoSensor.MOVIMIENTO) ,
		ANTENA(TipoSensor.ANTENA),
		INGRESO(TipoSensor.INGRESO)
		;
		
		private long tipoSensorInt;		
		
		private TipoSensorEnum(long tipoSensor) {
			this.tipoSensorInt = tipoSensor;			
		}
	
		public long getTipoSensor() {
			return tipoSensorInt;
		}
		
		public static TipoSensorEnum getEnum(long tipoSensor){
			
			if(tipoSensor==TipoSensor.ANTENA){
				return TipoSensorEnum.ANTENA;
			}
			else if(tipoSensor==TipoSensor.PUERTA){
				return TipoSensorEnum.PUERTA;
			}			
			else if(tipoSensor==TipoSensor.VENTANA){
				return TipoSensorEnum.VENTANA;
			}			
			else if(tipoSensor==TipoSensor.HUMO){
				return TipoSensorEnum.HUMO;
			}
			else if(tipoSensor==TipoSensor.MOVIMIENTO){
				return TipoSensorEnum.MOVIMIENTO;
			}
			else if(tipoSensor==TipoSensor.INGRESO){
				return TipoSensorEnum.INGRESO;
			}	
			return null;
		}
	
	}
}
